vtd: interrupt remapping: be more defensive
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 24 Feb 2010 10:59:37 +0000 (10:59 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 24 Feb 2010 10:59:37 +0000 (10:59 +0000)
commit1afe671e3aa7de913ac93152864f0b524ec291f6
treecc51f10e753f3cd1741b3799d2cfade668701d06
parenta2fa1e23d076c59ac417bd36a06fa832a2327188
vtd: interrupt remapping: be more defensive

1) A buggy BIOS may not report IOAPIC in DRHD. Currently we still try
to enable IR while the IOAPIC RTEs are still in non-remappable format
and the host would hang. The patch detects this case and will not try
to enable IR.

2) Currently HPET's MSI mode doesn't work if IR is enabled because we
have no code to allocate IRTE for it. Luckily this HW configuration is
rather rarely at present, we can just work it around by only using
HPET's IOAPIC mode for now.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
xen/arch/x86/hpet.c
xen/drivers/passthrough/vtd/iommu.c